244
S. Das et al.
From a financial point of view, efficiency is the most universally important aspect of
any technology for any industry. The efficiency of a blockchain in any system can
differ significantly depending on the type of consensus algorithm and cryptographic
hashing algorithm used as well as the computational power of the IIoT device in
question. All cryptographic hashing functions have different complexity, levels of
provided security and often have their own vulnerabilities.
The aim of the proposed model is to create a system that caters to a range of
devices with varying computational powers, instead of going with the common route
of trying to find “a size that fits all”. So, we have chosen a context-aware solution that
dynamically adjusts to the specific needs of the device and the computation power
available. To achieve this, a benchmarking algorithm is designed, which is used to
estimate the computational power of various IoT devices in the network. This bench-
marking algorithm consists of multiple trigonometric functions that are repeated over
theentire360°rangeanditeratedmultipletimesinafixedamountoftime.Whilethere
are other functions like matrix manipulation functions and prime number generation
functions that are used by some other benchmarking algorithms, these can overwhelm
the weaker processors of some low-power IIoT devices resulting in inconsistencies.
Trigonometric functions are very complex and the sheer number of calculations can
stress the processors of a wider range of devices without any inconsistencies. As the
time of operation is fixed, the number of iterations achieved within the fixed time
gives a fair indication of the computational power of the processor used. Compared
to other methods of processor benchmarking that can take hours on weaker hardware,
this is a much more time-efficient process as the fixed time can be set to very low.
The average number of iterations achieved is the output benchmark score.
The output score from the benchmarking function is used to generate a device-
specific token, which is stored in the device for future reference. This token contains
the benchmark score achieved by the device and is used to categorize the huge range
of possible IIoT devices into multiple tiers. In our case, the devices are classified into
four tiers, Tier I to IV, with ascending computational power, where Tier I consists of
low-power devices and Tier IV consists of computationally high-power devices.
Now, the IoT network is split into numerous virtual clusters of IIoT devices,
according to their tier. Every tier is accordingly assigned a unique hashing algorithm,
which is most suited for the processing power of its devices and is most appropriate
for the data it is storing. When the consensus algorithm is called, the token of the
concerned device is checked to find its tier as shown in Fig. 1. Its respective hash
function is used to generate the hash. As such, we have various parallel blockchains
in place all with their unique hashing algorithm in the entire IoT network. This
makes the overall system more secure as it is difficult for attackers to identify the
hash algorithm being used, with the IoT network separated into different clusters
of IIoT devices as demonstrated in Fig. 2. By having a system in place that can
assign different hash functions, we also solve the problem of not having enough
crypto agility partially, as this architecture allows any vendor to add or update their
blockchain to any hash function as needed at least from the software side as long as